/**
 * Styles for the calendars
 */

.mini-calendar,
.medium-calendar {
	padding-top: 1em;
	position: relative;
	z-index: 89;
	text-align: center;
	}
	.mini-calendar {
		float: left;
	}
	.next-to-mini-calendar {
		margin-left: 14em;
	}
	.mini-calendar.float-right {
		float: right;
	}
	.mini-calendar.float-right + .next-to-mini-calendar {
		margin-left: 0;
		margin-right: 14em;
	}
	.calendar-controls {
		position: absolute;
		z-index: 89;
		top: 0;
		left: 50%;
		width: 9em;
		margin-left: -5.083em;
		text-align: center;
		line-height: 1.333em;
		padding: 0.25em 0.5em;
		border: 1px solid white;
		-moz-border-radius: 0.417em;
		-webkit-border-radius: 0.417em;
		-webkit-background-clip: padding-box;
		border-radius: 0.417em;
		-moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
		-webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
		box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
		color: #3399cc;
		background: #dfdfdf url(../images/button-bg.png) repeat-x top;
		-webkit-background-size: 100% 100%;
		-moz-background-size: 100% 100%;
		-o-background-size: 100% 100%;
		background-size: 100% 100%;
		background: -moz-linear-gradient(
			top,
			#f6f6f6,
			#dfdfdf
		);
		background: -webkit-gradient(
			linear,
			left top, left bottom,
			from(#f6f6f6),
			to(#dfdfdf)
		);
		}
		/* IE class */
		.ie .calendar-controls {
			border-color: #cccccc;
		}
		.calendar-controls .calendar-prev,
		.calendar-controls .calendar-next {
			display: block;
			height: 1.333em;
			line-height: 1.333em;
			width: 1.333em;
			padding: 0.25em;
			text-align: center;
			background-size: 2px 100%;
			-moz-background-size: 2px 100%;
			-webkit-background-size: 2px 100%;
			margin: -0.25em 0 -0.333em;
		}
		.calendar-controls .calendar-prev {
			float: left;
			background: url(../images/menu-border.png) no-repeat right center;
			margin-left: -0.5em;
		}
		.calendar-controls .calendar-next {
			float: right;
			background: url(../images/menu-border.png) no-repeat left center;
			margin-right: -0.5em;
		}
		.calendar-controls .calendar-prev img,
		.calendar-controls .calendar-next img {
			vertical-align: -15%;
			}
			.calendar-controls .calendar-prev img {
				margin-left: -2px;
			}
			.calendar-controls .calendar-next img {
				margin-right: -2px;
			}
	
	.mini-calendar table,
	.medium-calendar table {
		border: 1px solid #cccccc;
		border-collapse: separate;
		}
		.medium-calendar table {
			width: 100%;
		}
		.mini-calendar thead th,
		.mini-calendar thead td,
		.medium-calendar thead th,
		.medium-calendar thead td {
			height: 3em;
			padding-bottom: 0.25em;
			text-align: center;
			vertical-align: bottom;
			font-weight: normal;
			color: #808080;
			background: #cccccc url(../images/mini-calendar-head-bg.png) repeat-x top;
			-webkit-background-size: 100% 100%;
			-moz-background-size: 100% 100%;
			-o-background-size: 100% 100%;
			background-size: 100% 100%;
			background: -moz-linear-gradient(
				top,
				white,
				#e7e7e7 80%,
				#cccccc
			);
			background: -webkit-gradient(
				linear,
				left top, left bottom,
				from(white),
				to(#cccccc),
				color-stop(0.8, #e7e7e7)
			);
			-moz-text-shadow: 1px 1px 0 white;
			-webkit-text-shadow: 1px 1px 0 white;
			text-shadow: 1px 1px 0 white;
			border-bottom: 1px solid #cccccc;
			}
			.medium-calendar thead th,
			.medium-calendar thead td {
				padding-bottom: 0.333em;
				border-right: 1px solid #cccccc;
			}
			.medium-calendar thead th.week-end,
			.medium-calendar thead td.week-end {
				color: #b0b0b0;
			}
			.mini-calendar thead th:last-child,
			.mini-calendar thead td:last-child,
			.medium-calendar thead th:last-child,
			.medium-calendar thead td:last-child {
				border-right: 0;
			}
			/* IE class */
			.mini-calendar thead th.last-child,
			.mini-calendar thead td.last-child,
			.medium-calendar thead th.last-child,
			.medium-calendar thead td.last-child {
				border-right: 0;
			}
		.mini-calendar tbody th,
		.mini-calendar tbody td,
		.medium-calendar tbody th,
		.medium-calendar tbody td {
			background: white;
			text-align: center;
			vertical-align: middle;
			color: #333333;
			}
			.mini-calendar tbody th,
			.mini-calendar tbody td {
				font-size: 0.833em;
				font-family: "Trebuchet MS", "Lucida Sans Unicode", "Lucida Sans", Arial, Helvetica, sans-serif;
				width: 2.1em;
				height: 2.2em;
			}
			.medium-calendar tbody th,
			.medium-calendar tbody td {
				width: 14.3%;
				height: 3.25em;
				font-weight: bold;
				border-right: 1px solid #cccccc;
				border-bottom: 1px solid #cccccc;
				border-top: 1px solid white;
				border-left: 1px solid white;
				}
				.medium-calendar tbody tr:nth-child(odd) th,
				.medium-calendar tbody tr:nth-child(odd) td {
					background: #f2f2f2;
				}
				/* IE class */
				.medium-calendar tbody tr.odd th,
				.medium-calendar tbody tr.odd td {
					background: #f2f2f2;
				}
				.medium-calendar tbody tr:nth-child(even) th,
				.medium-calendar tbody tr:nth-child(even) td {
					background: #e6e6e6;
				}
				/* IE class */
				.medium-calendar tbody tr.even th,
				.medium-calendar tbody tr.even td {
					background: #e6e6e6;
				}
				
			.mini-calendar tbody th:last-child,
			.mini-calendar tbody td:last-child,
			.medium-calendar tbody th:last-child,
			.medium-calendar tbody td:last-child {
				border-right: 0;
			}
			/* IE class */
			.mini-calendar tbody th.last-child,
			.mini-calendar tbody td.last-child,
			.medium-calendar tbody th.last-child,
			.medium-calendar tbody td.last-child {
				border-right: 0;
			}
			.mini-calendar tbody tr:last-child th,
			.mini-calendar tbody tr:last-child td,
			.medium-calendar tbody tr:last-child th,
			.medium-calendar tbody tr:last-child td {
				border-bottom: 0;
			}
			/* IE class */
			.mini-calendar tbody tr.last-child th,
			.mini-calendar tbody tr.last-child td,
			.medium-calendar tbody tr.last-child th,
			.medium-calendar tbody tr.last-child td {
				border-bottom: 0;
			}
			
			.mini-calendar tbody a,
			.mini-calendar tbody div,
			.medium-calendar tbody a,
			.medium-calendar tbody div {
				display: block;
				position: relative;
				z-index: 89;
				height: 100%;
			}
			.mini-calendar tbody a,
			.medium-calendar tbody a {
				color: #333333;
				}
				.mini-calendar tbody a,
				.mini-calendar tbody div {
					line-height: 2.22em;
				}
				.medium-calendar tbody a,
				.medium-calendar tbody div {
					line-height: 3.25em;
				}
			
			.mini-calendar tbody .week-end,
			.mini-calendar tbody .week-end a,
			.medium-calendar tbody .week-end,
			.medium-calendar tbody .week-end a {
				color: #808080;
			}
			.mini-calendar tbody .other-month,
			.mini-calendar tbody .other-month a,
			.medium-calendar tbody .other-month,
			.medium-calendar tbody .other-month a {
				color: #CCCCCC;
				font-weight: normal;
			}
			.mini-calendar tbody .today,
			.mini-calendar tbody .today a,
			.medium-calendar tbody .today,
			.medium-calendar tbody .today a {
				color: #3399cc;
				font-weight: bold;
				}
				.mini-calendar tbody span.today,
				.medium-calendar tbody span.today {
					background: #3399cc;
					color: white;
					padding: 0.25em 0.5em;
					-moz-border-radius: 0.417em;
					-webkit-border-radius: 0.417em;
					-webkit-background-clip: padding-box;
					border-radius: 0.417em;
					}
					.mini-calendar tbody a:hover span.today,
					.medium-calendar tbody a:hover span.today {
						background: white;
						color: #3399cc;
						-moz-text-shadow: none;
						-webkit-text-shadow: none;
						text-shadow: none;
						-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
						-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
						box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
					}
			
			/* Date picker integration - Thanks to sbkyle! */
			.mini-calendar tbody a:hover, .mini-calendar tbody a.selected {
				background: #72c6e4 url(../images/mini-cal-bg.png) repeat-x top;
				background: -moz-linear-gradient(
					top,
					#0c5fa5,
					#72c6e4
				);
				background: -webkit-gradient(
					linear,
					left top, left bottom,
					from(#0c5fa5),
					to(#72c6e4)
				);
				-moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
				-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
				box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
				}
				.mini-calendar tbody a.selected {
					color:#FFF;
					font-weight:bold;
				}
				.datepick-month-year { font-size:.8em !important; padding:0 !important; }
				.datepick { width:auto !important }
				.datepick-popup { z-index:100; } 

			
			.mini-calendar tbody th.unavailable,
			.mini-calendar tbody td.unavailable,
			.medium-calendar tbody th.unavailable,
			.medium-calendar tbody td.unavailable {
				background: white url(../images/lite-grey-stripes.png);
				color: #b0b0b0;
				-moz-text-shadow: 1px 1px 0 white;
				-webkit-text-shadow: 1px 1px 0 white;
				text-shadow: 1px 1px 0 white;
				}
				.medium-calendar tbody tr:nth-child(odd) th.unavailable,
				.medium-calendar tbody tr:nth-child(odd) td.unavailable {
					background: #f2f2f2 url(../images/medium-grey-stripes.png);
				}
				/* IE class */
				.medium-calendar tbody tr.odd th.unavailable,
				.medium-calendar tbody tr.odd td.unavailable {
					background: #f2f2f2 url(../images/medium-grey-stripes.png);
				}
				.medium-calendar tbody tr:nth-child(even) th.unavailable,
				.medium-calendar tbody tr:nth-child(even) td.unavailable {
					background: #e6e6e6 url(../images/grey-stripes.png);
					color: #a0a0a0;
				}
				/* IE class */
				.medium-calendar tbody tr.even th.unavailable,
				.medium-calendar tbody tr.even td.unavailable {
					background: #e6e6e6 url(../images/grey-stripes.png);
					color: #a0a0a0;
				}
			
			.blue-corner {
				display: block;
				background: url(../images/blue-corner.png) no-repeat left bottom;
				height: 100%;
				}
				.other-month .blue-corner {
					background-image: url(../images/grey-corner-left.png);
				}
			.red-corner {
				display: block;
				background: url(../images/red-corner.png) no-repeat right bottom;
				height: 100%;
				}
				.other-month .red-corner {
					background-image: url(../images/grey-corner-right.png);
				}
			.nb-events {
				position: absolute;
				right: -3px;
				top: -3px;
				height: 1.333em;
				text-align: center;
				font-size: 0.75em;
				line-height: 1.111em;
				padding: 0 0.333em;
				font-weight: normal;
				border: 1px solid white;
				background: #0c5fa5 url(../images/nb-events-bg.png) repeat-x top;
				-webkit-background-size: 100% 100%;
				-moz-background-size: 100% 100%;
				-o-background-size: 100% 100%;
				background-size: 100% 100%;
				background: -moz-linear-gradient(
					top,
					#72c6e4,
					#0c5fa5
				);
				background: -webkit-gradient(
					linear,
					left top, left bottom,
					from(72c6e4),
					to(#0c5fa5)
				);
				-moz-border-radius: 0.667em;
				-webkit-border-radius: 0.667em;
				-webkit-background-clip: padding-box;
				border-radius: 0.667em;
				color: white;
				-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
				-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
				box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
				}
				.mini-calendar tbody td:hover .nb-events,
				.medium-calendar tbody td:hover .nb-events {
					right: -2px;
					top: -2px;
				}
				.other-month .nb-events {
					background: #dfdfdf url(../images/nb-events-other-bg.png) repeat-x top;
					-webkit-background-size: 100% 100%;
					-moz-background-size: 100% 100%;
					-o-background-size: 100% 100%;
					background-size: 100% 100%;
					background: -moz-linear-gradient(
						top,
						#f6f6f6,
						#dfdfdf
					);
					background: -webkit-gradient(
						linear,
						left top, left bottom,
						from(#f6f6f6),
						to(#dfdfdf)
					);
					color: #999999;
				}

.calendar,
.list-calendar {
	margin-bottom: 1.667em;
	border: 1px solid #999999;
	width: 100%;
	border-collapse: separate;
	}
	.calendar:last-child,
	.list-calendar:last-child {
		margin-bottom: 0;
	}
	/* IE class */
	.calendar.last-child,
	.list-calendar.last-child {
		margin-bottom: 0;
	}
	.content-columns .calendar,
	.content-columns .list-calendar {
		margin-bottom: 0;
		border: none;
		border-top: 1px solid #999999;
	}
	.no-margin .calendar,
	.no-margin .list-calendar {
		border: none;
	}
	
	.calendar thead th,
	.calendar thead td,
	.list-calendar thead th,
	.list-calendar thead td {
		background: #a4a4a4 url(../images/planning-header-bg.png) repeat-x top;
		-webkit-background-size: 100% 100%;
		-moz-background-size: 100% 100%;
		-o-background-size: 100% 100%;
		background-size: 100% 100%;
		background: -moz-linear-gradient(
			top,
			#cccccc,
			#a4a4a4
		);
		background: -webkit-gradient(
			linear,
			left top, left bottom,
			from(#cccccc),
			to(#a4a4a4)
		);
		color: white;
		-moz-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
		-webkit-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
		text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
		border-top: 1px solid white;
		border-left: 1px solid #dddddd;
		border-right: 1px solid #999999;
		border-bottom: 1px solid #828282;
		vertical-align: middle;
		text-align: center;
		padding: 0.75em;
	}
	
	.calendar .black-cell,
	.list-calendar .black-cell {
		background: #242424 url(../images/black-cell-bg.png) repeat-x top;
		-webkit-background-size: 100% 100%;
		-moz-background-size: 100% 100%;
		-o-background-size: 100% 100%;
		background-size: 100% 100%;
		background: -moz-linear-gradient(
			top,
			#4c4c4c,
			#242424
		);
		background: -webkit-gradient(
			linear,
			left top, left bottom,
			from(#4c4c4c),
			to(#242424)
		);
		border-top-color: #7f7f7f;
		border-left: none;
		border-right-color: #191919;
		min-width: 16px;
		}
		.calendar .black-cell span,
		.list-calendar .black-cell span {
			display: block;
			height: 2.5em;
			background-repeat: no-repeat;
			background-position: center;
			margin: -0.75em;
			}
			.calendar .black-cell span.loading, .list-calendar .black-cell span.loading { background-image: url(../images/table-loader.gif); }
			.calendar .black-cell span.error, .list-calendar .black-cell span.error { background-image: url(../images/cross-circle.png); }
			.calendar .black-cell span.success, .list-calendar .black-cell span.success { background-image: url(../images/tick-circle-blue.png); }
	
	.calendar tbody th,
	.calendar tbody td,
	.list-calendar tbody th,
	.list-calendar tbody td {
		background: white;
		text-align: center;
		border-right: 1px solid #cccccc;
		border-bottom: 1px solid #cccccc;
		border-top: 1px solid white;
		border-left: 1px solid white;
		color: #333333;
		text-align: left;
		vertical-align: top;
		padding: 0.5em;
		}
		.calendar tbody th,
		.calendar tbody td {
			width: 14%;
			height: 8.25em;
		}
		.calendar tbody tr.empty th,
		.calendar tbody tr.empty td,
		.list-calendar tbody tr.empty th,
		.list-calendar tbody tr.empty td {
			color: #999999;
		}
		.calendar tbody th:first-child {
			width: 2em;
			vertical-align: middle;
			text-align: center;
			padding: 0;
		}
		.list-calendar tbody th:first-child {
			font-family: "Trebuchet MS", "Lucida Sans Unicode", "Lucida Sans", Arial, Helvetica, sans-serif;
			font-size: 2.5em;
			line-height: 1.2em;
			width: 1.5em;
			text-align: center;
			padding: 0.2em;
			color: #3399cc;
			}
			.list-calendar tbody tr.empty th:first-child {
				color: #999999;
				font-style: normal;
			}
		.calendar tbody tr:nth-child(odd) th,
		.calendar tbody tr:nth-child(odd) td,
		.list-calendar tbody tr:nth-child(odd) th,
		.list-calendar tbody tr:nth-child(odd) td {
			background: #f2f2f2;
			}
			/* IE class */
			.calendar tbody tr.odd th,
			.calendar tbody tr.odd td,
			.list-calendar tbody tr.odd th,
			.list-calendar tbody tr.odd td {
				background: #f2f2f2;
			}
			.calendar tbody tr:nth-child(odd) th:first-child,
			.list-calendar tbody tr:nth-child(odd) th:first-child {
				background: #d9d9d9;
				border-bottom-color: #c2c2c2;
			}
			/* IE class */
			.calendar tbody tr.odd th:first-child,
			.list-calendar tbody tr.odd th:first-child {
				background: #d9d9d9;
				border-bottom-color: #c2c2c2;
			}
			.calendar tbody tr:nth-child(odd) th:first-child {
				color: #b4b4b4;
			}
			/* IE class */
			.calendar tbody tr.odd th:first-child {
				color: #b4b4b4;
			}
		.calendar tbody tr:nth-child(even) th,
		.calendar tbody tr:nth-child(even) td,
		.list-calendar tbody tr:nth-child(even) th,
		.list-calendar tbody tr:nth-child(even) td {
			background: #e6e6e6;
			}
			/* IE class */
			.calendar tbody tr.even th,
			.calendar tbody tr.even td,
			.list-calendar tbody tr.even th,
			.list-calendar tbody tr.even td {
				background: #e6e6e6;
			}
			.calendar tbody tr:nth-child(even) th:first-child {
				background: #cccccc;
				color: #808080;
				border-bottom-color: #bbbbbb;
			}
			/* IE class */
			.calendar tbody tr.even th:first-child {
				background: #cccccc;
				color: #808080;
				border-bottom-color: #bbbbbb;
			}
			.list-calendar tbody tr th:hover,
			.list-calendar tbody tr td:hover {
				background-color: #dbe8f0;
				}
				.list-calendar tbody tr th.other-month:hover,
				.list-calendar tbody tr td.other-month:hover {
					background-color: #e9e9e9;
				}
		
		.calendar tbody th:last-child,
		.calendar tbody td:last-child,
		.list-calendar tbody th:last-child,
		.list-calendar tbody td:last-child {
			border-right: 0;
		}
		/* IE class */
		.calendar tbody th.last-child,
		.calendar tbody td.last-child,
		.list-calendar tbody th.last-child,
		.list-calendar tbody td.last-child {
			border-right: 0;
		}
		.calendar tbody tr:last-child th,
		.calendar tbody tr:last-child td,
		.list-calendar tbody tr:last-child th,
		.list-calendar tbody tr:last-child td {
			border-bottom: 0;
		}
		/* IE class */
		.calendar tbody tr.last-child th,
		.calendar tbody tr.last-child td,
		.list-calendar tbody tr.last-child th,
		.list-calendar tbody tr.last-child td {
			border-bottom: 0;
		}
		
		.calendar tbody .week-end,
		.calendar tbody .week-end a,
		.list-calendar tbody .week-end,
		.list-calendar tbody .week-end a {
			color: #808080;
		}
		.calendar tbody .other-month,
		.calendar tbody .other-month a,
		.list-calendar tbody .other-month,
		.list-calendar tbody .other-month a {
			color: #CCCCCC;
		}
		
		.calendar .day {
			display: block;
			float: left;
			font-size: 1.5em;
			line-height: 1.222em;
			font-family: "Trebuchet MS", "Lucida Sans Unicode", "Lucida Sans", Arial, Helvetica, sans-serif;
			font-weight: bold;
			color: #333333;
		}
		.calendar .other-month .day {
			color: #CCCCCC;
		}
		
		.calendar .add-event {
			display: block;
			opacity: 0;
			filter: alpha(opacity=0);
			float: left;
			font-size: 0.75em;
			line-height: 1em;
			height: 1em;
			margin: 0.556em -1.444em 0 0.556em;
			text-transform: uppercase;
			padding: 0 0.333em 0.222em;
			border: 1px solid white;
			-moz-border-radius: 0.333em;
			-webkit-border-radius: 0.333em;
			-webkit-background-clip: padding-box;
			border-radius: 0.333em;
			-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
			-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
			box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
			color: #666666;
			background: #dfdfdf url(../images/button-bg.png) repeat-x top;
			-webkit-background-size: 100% 100%;
			-moz-background-size: 100% 100%;
			-o-background-size: 100% 100%;
			background-size: 100% 100%;
			background: -moz-linear-gradient(
				top,
				#f6f6f6,
				#dfdfdf
			);
			background: -webkit-gradient(
				linear,
				left top, left bottom,
				from(#f6f6f6),
				to(#dfdfdf)
			);
			overflow: hidden;
			width: 0.778em;
			white-space: nowrap;
			-moz-transition: all 250ms;
			-webkit-transition: all 250ms;
			-o-transition: all 250ms;
			transition: all 250ms;
			}
			/* IE class */
			.ie .calendar .add-event {
				margin-top: 0.444em;
			}
			/* IE class */
			.ie7 .calendar .add-event {
				margin-top: 0.333em;
			}
			.calendar .add-event:before {
				content: url(../images/icons/add-mini.png);
				padding-right: 0.333em;
			}
			/* IE class */
			.calendar .add-event .before {
				background: url(../images/icons/add-mini.png) no-repeat;
				width: 7px;
				height: 7px;
				padding: 0;
				vertical-align: middle;
				margin: 0 0.333em -1px 0;
				display: inline-block;
			}
			.calendar th:hover .add-event,
			.calendar td:hover .add-event {
				opacity: 1;
				filter: none;
			}
			.calendar .add-event:hover {
				width: 3.667em;
				margin-right: -4.333em;
			}
		
		.calendar tbody .today,
		.calendar tbody .today a,
		.calendar tbody .today span {
			color: #3399cc;
			font-weight: bold;
			}
			.calendar tbody span.today {
				background: #3399cc;
				color: white;
				padding: 0.25em 0.5em;
				-moz-border-radius: 0.417em;
				-webkit-border-radius: 0.417em;
				-webkit-background-clip: padding-box;
				border-radius: 0.417em;
				}
				.calendar tbody a:hover span.today {
					background: white;
					color: #3399cc;
				}
		
		.calendar tbody td .mini-menu,
		.list-calendar tbody td .mini-menu {
			margin: -1.583em 0.5em -0.583em 0;
		}
		
		.calendar tbody .unavailable {
			background: white url(../images/lite-grey-stripes.png);
			color: #b0b0b0;
			-moz-text-shadow: 1px 1px 0 white;
			-webkit-text-shadow: 1px 1px 0 white;
			text-shadow: 1px 1px 0 white;
			}
			.calendar tbody .unavailable .day {
				color: #b0b0b0;
			}
			.calendar tbody tr:nth-child(odd) .unavailable {
				background: #f2f2f2 url(../images/medium-grey-stripes.png);
			}
			/* IE class */
			.calendar tbody tr.odd .unavailable {
				background: #f2f2f2 url(../images/medium-grey-stripes.png);
			}
			.calendar tbody tr:nth-child(even) .unavailable {
				background: #e6e6e6 url(../images/grey-stripes.png);
				color: #a0a0a0;
			}
			/* IE class */
			.calendar tbody tr.even .unavailable {
				background: #e6e6e6 url(../images/grey-stripes.png);
				color: #a0a0a0;
			}
	
/* Hover effect */
.medium-calendar tbody td:hover,
.calendar tbody td:hover {
	border: 0;
}
.medium-calendar tbody td:hover a,
.medium-calendar tbody td:hover div {
	padding: 1px;
	}
	.medium-calendar tbody td:last-child:hover a,
	.medium-calendar tbody td:last-child:hover div {
		padding-right: 0;
	}
	/* IE class */
	.medium-calendar tbody td.last-child:hover a,
	.medium-calendar tbody td.last-child:hover div {
		padding-right: 0;
	}
	.medium-calendar tbody tr:last-child td:hover a,
	.medium-calendar tbody tr:last-child td:hover div {
		padding-bottom: 0;
	}
	/* IE class */
	.medium-calendar tbody tr.last-child td:hover a,
	.medium-calendar tbody tr.last-child td:hover div {
		padding-bottom: 0;
	}
.calendar tbody td:hover {
	padding: 0.583em;
	}
	.calendar tbody td:last-child:hover {
		padding-right: 0.5em;
	}
	/* IE class */
	.calendar tbody td.last-child:hover {
		padding-right: 0.5em;
	}
	.calendar tbody tr:last-child td:hover {
		padding-bottom: 0.5em;
	}
	/* IE class */
	.calendar tbody tr.last-child td:hover {
		padding-bottom: 0.5em;
	}
	
	.mini-calendar tbody a:hover,
	.medium-calendar tbody a:hover,
	.calendar tbody tr td:hover {
		-webkit-background-size: 100% 100%;
		-moz-background-size: 100% 100%;
		-o-background-size: 100% 100%;
		background-size: 100% 100%;
		color: white;
	}
	.calendar tbody tr td.unavailable:hover {
		background-size: auto;
		-moz-background-size: auto;
		-webkit-background-size: auto;
	}
	.mini-calendar tbody a:hover {
		background: #72c6e4 url(../images/mini-cal-bg.png) repeat-x top;
		background: -moz-linear-gradient(
			top,
			#0c5fa5,
			#72c6e4
		);
		background: -webkit-gradient(
			linear,
			left top, left bottom,
			from(#0c5fa5),
			to(#72c6e4)
		);
		-moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
		-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
		box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
	}
	.medium-calendar tbody a:hover {
		background: #72c6e4 url(../images/medium-cal-bg.png) repeat-x top;
		background: -moz-linear-gradient(
			top,
			#0c5fa5,
			#72c6e4
		);
		background: -webkit-gradient(
			linear,
			left top, left bottom,
			from(#0c5fa5),
			to(#72c6e4)
		);
		-moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5);
		-webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5);
		box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5);
	}
	.calendar tbody tr td:hover {
		background: #72c6e4 url(../images/calendar-bg.png) repeat-x top;
		background: -moz-linear-gradient(
			top,
			#0c5fa5,
			#72c6e4
		);
		background: -webkit-gradient(
			linear,
			left top, left bottom,
			from(#0c5fa5),
			to(#72c6e4)
		);
		-moz-box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.5);
		-webkit-box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.5);
		box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.5);
	}
	.mini-calendar tbody a:hover,
	.medium-calendar tbody a:hover {
		-moz-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
		-webkit-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
		text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
	}
	
	.calendar tbody td:hover .day {
		color: white;
		-moz-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
		-webkit-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
		text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
	}

/* Custom styles */
.dot-events {
	float: right;
	margin: -0.25em 0.25em 0 0;
	text-align: right;
	}
	.calendar .dot-events {
		max-width: 40%;
	}
	/* IE class */
	.ie7 .dot-events {
		padding-top: 0.083em;
	}
	.dot-events li {
		display: inline-block;
		width: 0;
		height: 0;
		line-height: 0;
		border: 0.333em solid #3399cc;
		-moz-border-radius: 0.333em;
		-webkit-border-radius: 0.333em;
		-webkit-background-clip: padding-box;
		border-radius: 0.333em;
		overflow: hidden;
		}
		/* IE class */
		.ie7 .dot-events li {
			float: left;
			margin: 0.25em 0 0 0.25em;
		}
		.calendar tbody td:hover .dot-events li {
			-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
			-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
			box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
		}
		.dot-events li.red {
			border-color: #c73333;
		}
		.other-month .dot-events li,
		.other-month .dot-events li.red {
			border-color: #b1b1b1;
		}
		.dot-events li a {
			display: block;
			width: 0;
			height: 0;
			line-height: 0;
			padding: 0.333em;
			margin: -0.333em;
			overflow: hidden;
			text-indent: 2em;
		}

.events {
	clear: both;
	line-height: 1.25em;
	}
	.calendar .events {
		margin: 0 -0.333em;
		font-size: 0.75em;
		line-height: 1.222em;
		padding-top: 0.222em;
	}
	.calendar .events:last-child {
		margin-bottom: -0.333em;
	}
	/* IE class */
	.calendar .events.last-child {
		margin-bottom: -0.333em;
	}
	.events li {
		padding: 0.167em 0.667em 0.333em 4.25em;
		color: #333333;
		}
		.calendar .events li {
			padding: 0.111em 0.333em 0.333em 4.222em;
		}
		.calendar tbody td:hover .events li {
			color: white;
			-moz-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
			-webkit-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
			text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
		}
		.events li a {
			display: block;
			color: #333333;
			margin: -0.167em -0.667em -0.333em -4.25em;
			padding: 0.167em 0.667em 0.333em 4.25em;
			}
			.calendar .events li a {
				margin: -0.111em -0.333em -0.333em -4.222em;
				padding: 0.111em 0.333em 0.333em 4.222em;
			}
			.calendar tbody td:hover .events li a {
				color: white;
			}
			.list-calendar .events li a:hover {
				background: white;
				-moz-border-radius: 0.333em;
				-webkit-border-radius: 0.333em;
				-webkit-background-clip: padding-box;
				border-radius: 0.333em;
			}
			.calendar .events li a:hover {
				color: #999999;
			}
			.calendar tbody td:hover .events li a:hover {
				color: #bfd8e4;
			}
		.events li b {
			display: block;
			font-weight: normal;
			color: #3399cc;
			float: left;
			margin-left: -3.833em;
			width: 3.667em;
			}
			.calendar .events li b {
				margin-left: -4em;
			}
			.calendar tbody td:hover .events li b {
				color: #9cd0ea;
			}
			.events li.red b {
				color: #c73333;
			}

.more-events {
	position: relative;
	z-index: 88;
	background: #7f7f7f;
	line-height: 1em;
	padding: 0.333em 0.583em 0.417em;
	-moz-border-radius: 0.75em;
	-webkit-border-radius: 0.75em;
	-webkit-background-clip: padding-box;
	border-radius: 0.75em;
	color: white;
	text-align: center;
	}
	.list-calendar .more-events {
		float: left;
	}
	.calendar .more-events {
		font-size: 0.75em;
		padding: 0.222em 0.556em 0.444em;
		-moz-border-radius: 0.666em;
		-webkit-border-radius: 0.666em;
		-webkit-background-clip: padding-box;
		border-radius: 0.666em;
	}
	/* IE class */
	.ie7 .calendar .more-events {
		padding-top: 0.333em;
	}
	.list-calendar .more-events {
		margin: 0.25em 0 0.25em 0.333em;
	}
	.list-calendar .events + .more-events {
		margin-top: -1.333em;
	}
	.calendar .events + .more-events {
		margin-top: 0.333em;
	}
	.list-calendar .more-events:after {
		content: '';
		padding: 0 8px;
		background: url(../images/menu-open-arrow.png) no-repeat 3px center;
	}
	.calendar tbody td:hover .more-events {
		background: #404040;
		-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
		-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
		box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
	}
	.more-events:hover {
		background-color: #333333;
		-moz-border-radius-bottomleft: 0;
		-moz-border-radius-bottomright: 0;
		-webkit-border-bottom-left-radius: 0;
		-webkit-border-bottom-right-radius: 0;
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
	.more-events ul {
		display: none;
		position: absolute;
		z-index: 89;
		top: 100%;
		left: 0;
		line-height: 1.25em;
		min-width: 100%;
		background: #e6e6e6;
		border: 1px solid #333333;
		-moz-border-radius: 0 0.333em 0.333em 0.333em;
		-webkit-border-radius: 0.333em;
		-webkit-background-clip: padding-box;
		-webkit-border-top-left-radius: 0;
		border-radius: 0 0.333em 0.333em 0.333em;
		-moz-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.5);
		-webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.5);
		box-shadow: 0 2px 3px rgba(0, 0, 0, 0.5);
		text-align: left;
		}
		.calendar .more-events ul {
			line-height: 1.667em;
		}
		/* IE class */
		.ie7 .calendar .more-events ul {
			margin-top: -1px;
		}
		.more-events:hover ul {
			display: block;
		}
		.more-events ul li {
			padding: 0.25em 0.667em 0.333em 4.25em;
			color: #333333;
			white-space: nowrap;
			}
			.calendar .more-events ul li {
				padding: 0.111em 0.667em 0.333em 4.667em;
			}
		.more-events ul li a {
			display: block;
			color: #333333;
			margin: -0.25em -0.667em -0.333em -4.25em;
			padding: 0.25em 0.667em 0.333em 4.25em;
			white-space: nowrap;
			}
			.calendar .more-events ul li a {
				margin: -0.111em -0.667em -0.333em -4.667em;
				padding: 0.111em 0.667em 0.333em 4.667em;
			}
			.more-events ul li a:hover {
				background: white;
			}
			.more-events ul li:first-child a:hover {
				-moz-border-radius-topright: 0.333em;
				-webkit-border-top-right-radius: 0.333em;
				border-top-right-radius: 0.333em;
			}
			.more-events ul li:last-child a:hover {
				-moz-border-radius: 0 0 0.333em 0.333em;
				-webkit-border-bottom-left-radius: 0.333em;
				-webkit-border-bottom-right-radius: 0.333em;
				border-radius: 0 0 0.333em 0.333em;
			}
		.more-events ul li b {
			display: block;
			font-weight: normal;
			color: #3399cc;
			float: left;
			margin-left: -3.833em;
			width: 3.667em;
			}
			.calendar .more-events ul li b {
				margin-left: -4.222em;
				width: 3.667em;
			}
			.more-events ul.red li b {
				color: #c73333;
			}

.events-dots-list {
	line-height: 1.25em;
	}
	.events-dots-list li {
		padding: 0.083em 0.5em 0.25em;
		color: #333333;
		}
		.events-dots-list li a {
			display: block;
			color: #333333;
			margin: -0.083em -0.5em -0.25em;
			padding: 0.083em 0.5em 0.25em;
			}
			.events-dots-list li a:hover {
				background: white;
			}
		.events-dots-list li span {
			display: inline-block;
			background-color: #3399cc;
			width: 0;
			height: 0;
			padding: 0.333em;
			margin-right: 0.333em;
			-moz-border-radius: 0.333em;
			-webkit-border-radius: 0.333em;
			-webkit-background-clip: padding-box;
			border-radius: 0.333em;
			}
			/* IE class */
			.ie7 .events-dots-list li span {
				float: left;
				margin-top: 0.5em;
			}
			.events-dots-list li.red span {
				background-color: #c73333;
			}

.week-calendar {
	margin-bottom: 1.667em;
	border: 1px solid #999999;
	background: #a4a4a4 url(../images/planning-header-bg.png) repeat-x top;
	-webkit-background-size: 100% 2.5em;
	-o-background-size: 100% 2.5em;
	background-size: 100% 2.5em;
	background: -moz-linear-gradient(
		top,
		#cccccc,
		#a4a4a4 2.5em
	), #a4a4a4;
	background: -webkit-gradient(
		linear,
		left top, left bottom,
		from(#cccccc),
		to(#a4a4a4)
	), #a4a4a4;
	position: relative;
	z-index: 89;
	}
	.week-calendar:last-child {
		margin-bottom: 0;
	}
	/* IE class */
	.week-calendar.last-child {
		margin-bottom: 0;
	}
	.week-calendar.no-margin {
		border: 0;
	}
	.with-head.week-calendar,
	.content-columns .week-calendar {
		border: none;
	}
	.with-head.week-calendar + .no-margin {
		margin-top: -1.667em;
	}
	.content-columns .week-calendar:first-child {
		border: none;
	}
	/* IE class */
	.content-columns .week-calendar.first-child {
		border: none;
	}
	.content-columns .week-calendar {
		margin-bottom: 0;
	}
	
	.week-calendar > li {
		position: absolute;
		z-index: 89;
		top: 0;
		height: 100%;
		width: 13%;
		}
		.week-calendar > li.day1 {
			left: 9%;
		}
		.week-calendar > li.day2 {
			left: 22%;
		}
		.week-calendar > li.day3 {
			left: 35%;
		}
		.week-calendar > li.day4 {
			left: 48%;
		}
		.week-calendar > li.day5 {
			left: 61%;
		}
		.week-calendar > li.day6 {
			left: 74%;
		}
		.week-calendar > li.day7 {
			left: 87%;
		}
		
		.week-calendar > li > ul {
			border-left: 1px solid #ccc;
			position: absolute;
			z-index: 89;
			top: 2.5em;
			left: 0;
			right: 0;
			bottom: 0;
			margin-top: 2px;
			}
			.week-calendar > li.weekend > ul {
				background: url(../images/black10.png);
				background: rgba(0, 0, 0, 0.1);
			}
			.week-calendar > li > ul > li {
				position: absolute;
				left: 1em;
				right: 1em;
				border: 1px solid #ccc;
				-webkit-border-radius: 0.5em;
				-webkit-background-clip: padding-box;
				-moz-border-radius: 0.5em;
				border-radius: 0.5em;
				-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
				-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
				box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
				padding: 0.5em;
				background: #dfdfdf url(../images/event-bg.png) repeat-x top;
				background: -moz-linear-gradient(
					top,
					rgba(255, 255, 255, 0.75),
					rgba(255, 255, 255, 0) 1.5em
				), #dfdfdf;
				background: -webkit-gradient(
					linear,
					left top, left bottom,
					from(rgba(255, 255, 255, 0.75)),
					to(rgba(255, 255, 255, 0)),
					color-stop(1.5em, rgba(255, 255, 255, 0))
				), #dfdfdf;
				}
				
				.week-calendar > li > ul > li.blue {
					background-color: #d9eef7;
					background: -moz-linear-gradient(
						top,
						rgba(255, 255, 255, 0.75),
						rgba(255, 255, 255, 0) 1.5em
					), #d9eef7;
					background: -webkit-gradient(
						linear,
						left top, left bottom,
						from(rgba(255, 255, 255, 0.75)),
						to(rgba(255, 255, 255, 0)),
						color-stop(1.5em, rgba(255, 255, 255, 0))
					), #d9eef7;
				}
				.week-calendar > li > ul > li.orange {
					background-color: #f7e7d9;
					background: -moz-linear-gradient(
						top,
						rgba(255, 255, 255, 0.75),
						rgba(255, 255, 255, 0) 1.5em
					), #f7e7d9;
					background: -webkit-gradient(
						linear,
						left top, left bottom,
						from(rgba(255, 255, 255, 0.75)),
						to(rgba(255, 255, 255, 0)),
						color-stop(1.5em, rgba(255, 255, 255, 0))
					), #f7e7d9;
				}
				.week-calendar > li > ul > li.green {
					background-color: #e6f7d9;
					background: -moz-linear-gradient(
						top,
						rgba(255, 255, 255, 0.75),
						rgba(255, 255, 255, 0) 1.5em
					), #e6f7d9;
					background: -webkit-gradient(
						linear,
						left top, left bottom,
						from(rgba(255, 255, 255, 0.75)),
						to(rgba(255, 255, 255, 0)),
						color-stop(1.5em, rgba(255, 255, 255, 0))
					), #e6f7d9;
				}
				.week-calendar > li > ul > li.purple {
					background-color: #d9d9f7;
					background: -moz-linear-gradient(
						top,
						rgba(255, 255, 255, 0.75),
						rgba(255, 255, 255, 0) 1.5em
					), #d9d9f7;
					background: -webkit-gradient(
						linear,
						left top, left bottom,
						from(rgba(255, 255, 255, 0.75)),
						to(rgba(255, 255, 255, 0)),
						color-stop(1.5em, rgba(255, 255, 255, 0))
					), #d9d9f7;
				}
				
				.week-calendar > li > ul > li.half-left {
					right: 50%;
					margin-right: 0.5em;
				}
				.week-calendar > li > ul > li.half-right {
					left: 50%;
					margin-left: 0.5em;
				}
				.week-calendar .lunch,
				.week-calendar .unavailable {
					left: 0;
					right: 0;
					top: 0;
					bottom: 0;
					border: 0;
					-webkit-border-radius: 0;
					-webkit-background-clip: padding-box;
					-moz-border-radius: 0;
					border-radius: 0;
					-moz-box-shadow: none;
					-webkit-box-shadow: none;
					box-shadow: none;
					}
					.week-calendar .lunch {
						background: url(../images/black05.png);
						background: rgba(0, 0, 0, 0.05);
					}
					.week-calendar .unavailable {
						background: url(../images/lite-grey-stripes.png);
					}
				.week-calendar > li > ul > li .mini-menu {
					right: 0.75em;
				}
				.week-calendar .event-time {
					display: block;
					font-size: 0.667em;
					margin: -0.375em 0 0.25em -0.375em;
					color: #666;
					-moz-text-shadow: 1px 1px 0 white;
					-webkit-text-shadow: 1px 1px 0 white;
					text-shadow: 1px 1px 0 white;
				}
	
	.week-calendar .day {
		display: block;
		font-weight: bold;
		color: white;
		-moz-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
		-webkit-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
		text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
		border-top: 1px solid white;
		border-left: 1px solid #dddddd;
		border-right: 1px solid #999999;
		border-bottom: 1px solid #828282;
		text-align: center;
		height: 2.5em;
		line-height: 2.5em;
	}
	.week-calendar .dot-events {
		position: absolute;
		z-index: 89;
		top: 0.25em;
		right: 0.417em;
		margin: 0;
		line-height: 1em;
	}
	
	.week-calendar > li.week-cal-hours {
		position: static;
		width: auto;
		}
		.week-calendar > li.week-cal-hours div {
			width: 9%;
		}
		.week-calendar > li.week-cal-hours > ul {
			border-left: 0;
			position: static;
			margin: 0;
			}
			.week-calendar > li.week-cal-hours > ul > li {
				position: static;
				background: white url(../images/dots.gif) repeat-x left center;
				-webkit-background-size: auto;
				-moz-background-size: auto;
				-o-background-size: auto;
				background-size: auto;
				height: 2.5em;
				line-height: 2.5em;
				border: 0;
				-webkit-border-radius: 0;
				-webkit-background-clip: padding-box;
				-moz-border-radius: 0;
				border-radius: 0;
				-moz-box-shadow: none;
				-webkit-box-shadow: none;
				box-shadow: none;
				padding: 0;
				}
				.week-calendar > li.week-cal-hours li > span {
					width: 9%;
					background: #F2F2F2;
					color: #666;
					text-align: center;
					display: block;
					height: 2.5em;
					line-height: 2.5em;
					-moz-text-shadow: 1px 1px 0 white;
					-webkit-text-shadow: 1px 1px 0 white;
					text-shadow: 1px 1px 0 white;
				}

.week-calendar .from-7-30, .week-calendar .at-7-30 { top: 0; }
.week-calendar .from-7-45, .week-calendar .at-7-45 { top: 1.92%; }
.week-calendar .from-8, .week-calendar .at-8, .week-calendar .from-8-00, .week-calendar .at-8-00 { top: 3.85%; }
.week-calendar .from-8-15, .week-calendar .at-8-15 { top: 5.77%; }
.week-calendar .from-8-30, .week-calendar .at-8-30 { top: 7.69%; }
.week-calendar .from-8-45, .week-calendar .at-8-45 { top: 9.62%; }
.week-calendar .from-9, .week-calendar .at-9, .week-calendar .from-9-00, .week-calendar .at-9-00 { top: 11.54%; }
.week-calendar .from-9-15, .week-calendar .at-9-15 { top: 13.46%; }
.week-calendar .from-9-30, .week-calendar .at-9-30 { top: 15.38%; }
.week-calendar .from-9-45, .week-calendar .at-9-45 { top: 17.31%; }
.week-calendar .from-10, .week-calendar .at-10, .week-calendar .from-10-00, .week-calendar .at-10-00 { top: 19.23%; }
.week-calendar .from-10-15, .week-calendar .at-10-15 { top: 21.15%; }
.week-calendar .from-10-30, .week-calendar .at-10-30 { top: 23.08%; }
.week-calendar .from-10-45, .week-calendar .at-10-45 { top: 25%; }
.week-calendar .from-11, .week-calendar .at-11, .week-calendar .from-11-00, .week-calendar .at-11-00 { top: 26.92%; }
.week-calendar .from-11-15, .week-calendar .at-11-15 { top: 28.85%; }
.week-calendar .from-11-30, .week-calendar .at-11-30 { top: 30.77%; }
.week-calendar .from-11-45, .week-calendar .at-11-45 { top: 32.69%; }
.week-calendar .from-12, .week-calendar .at-12, .week-calendar .from-12-00, .week-calendar .at-12-00 { top: 34.62%; }
.week-calendar .from-12-15, .week-calendar .at-12-15 { top: 36.54%; }
.week-calendar .from-12-30, .week-calendar .at-12-30 { top: 38.46%; }
.week-calendar .from-12-45, .week-calendar .at-12-45 { top: 40.38%; }
.week-calendar .from-13, .week-calendar .at-13, .week-calendar .from-13-00, .week-calendar .at-13-00 { top: 42.31%; }
.week-calendar .from-13-15, .week-calendar .at-13-15 { top: 44.23%; }
.week-calendar .from-13-30, .week-calendar .at-13-30 { top: 46.15%; }
.week-calendar .from-13-45, .week-calendar .at-13-45 { top: 48.08%; }
.week-calendar .from-14, .week-calendar .at-14, .week-calendar .from-14-00, .week-calendar .at-14-00 { top: 50%; }
.week-calendar .from-14-15, .week-calendar .at-14-15 { top: 51.92%; }
.week-calendar .from-14-30, .week-calendar .at-14-30 { top: 53.85%; }
.week-calendar .from-14-45, .week-calendar .at-14-45 { top: 55.77%; }
.week-calendar .from-15, .week-calendar .at-15, .week-calendar .from-15-00, .week-calendar .at-15-00 { top: 57.69%; }
.week-calendar .from-15-15, .week-calendar .at-15-15 { top: 59.62%; }
.week-calendar .from-15-30, .week-calendar .at-15-30 { top: 61.54%; }
.week-calendar .from-15-45, .week-calendar .at-15-45 { top: 63.46%; }
.week-calendar .from-16, .week-calendar .at-16, .week-calendar .from-16-00, .week-calendar .at-16-00 { top: 65.38%; }
.week-calendar .from-16-15, .week-calendar .at-16-15 { top: 67.31%; }
.week-calendar .from-16-30, .week-calendar .at-16-30 { top: 69.23%; }
.week-calendar .from-16-45, .week-calendar .at-16-45 { top: 71.15%; }
.week-calendar .from-17, .week-calendar .at-17, .week-calendar .from-17-00, .week-calendar .at-17-00 { top: 73.08%; }
.week-calendar .from-17-15, .week-calendar .at-17-15 { top: 75%; }
.week-calendar .from-17-30, .week-calendar .at-17-30 { top: 76.92%; }
.week-calendar .from-17-45, .week-calendar .at-17-45 { top: 78.85%; }
.week-calendar .from-18, .week-calendar .at-18, .week-calendar .from-18-00, .week-calendar .at-18-00 { top: 80.77%; }
.week-calendar .from-18-15, .week-calendar .at-18-15 { top: 82.69%; }
.week-calendar .from-18-30, .week-calendar .at-18-30 { top: 84.62%; }
.week-calendar .from-18-45, .week-calendar .at-18-45 { top: 86.54%; }
.week-calendar .from-19, .week-calendar .at-19, .week-calendar .from-19-00, .week-calendar .at-19-00 { top: 88.46%; }
.week-calendar .from-19-15, .week-calendar .at-19-15 { top: 90.38%; }
.week-calendar .from-19-30, .week-calendar .at-19-30 { top: 92.31%; }
.week-calendar .from-19-45, .week-calendar .at-19-45 { top: 94.23%; }
.week-calendar .from-20, .week-calendar .at-20, .week-calendar .from-20-00, .week-calendar .at-20-00 { top: 96.15%; }
.week-calendar .from-20-15, .week-calendar .at-20-15 { top: 98.08%; }

.week-calendar .to-7-30 { bottom: 100%; }
.week-calendar .to-7-45 { bottom: 98.08%; }
.week-calendar .to-8, .week-calendar .to-8-00 { bottom: 96.15%; }
.week-calendar .to-8-15 { bottom: 94.23%; }
.week-calendar .to-8-30 { bottom: 92.31%; }
.week-calendar .to-8-45 { bottom: 90.38%; }
.week-calendar .to-9, .week-calendar .to-9-00 { bottom: 88.46%; }
.week-calendar .to-9-15 { bottom: 86.54%; }
.week-calendar .to-9-30 { bottom: 84.62%; }
.week-calendar .to-9-45 { bottom: 82.69%; }
.week-calendar .to-10, .week-calendar .to-10-00 { bottom: 80.77%; }
.week-calendar .to-10-15 { bottom: 78.85%; }
.week-calendar .to-10-30 { bottom: 76.92%; }
.week-calendar .to-10-45 { bottom: 75%; }
.week-calendar .to-11, .week-calendar .to-11-00 { bottom: 73.08%; }
.week-calendar .to-11-15 { bottom: 71.15%; }
.week-calendar .to-11-30 { bottom: 69.23%; }
.week-calendar .to-11-45 { bottom: 67.31%; }
.week-calendar .to-12, .week-calendar .to-12-00 { bottom: 65.38%; }
.week-calendar .to-12-15 { bottom: 63.46%; }
.week-calendar .to-12-30 { bottom: 61.54%; }
.week-calendar .to-12-45 { bottom: 59.62%; }
.week-calendar .to-13, .week-calendar .to-13-00 { bottom: 57.69%; }
.week-calendar .to-13-15 { bottom: 55.77%; }
.week-calendar .to-13-30 { bottom: 53.85%; }
.week-calendar .to-13-45 { bottom: 51.92%; }
.week-calendar .to-14, .week-calendar .to-14-00 { bottom: 50%; }
.week-calendar .to-14-15 { bottom: 48.08%; }
.week-calendar .to-14-30 { bottom: 46.15%; }
.week-calendar .to-14-45 { bottom: 44.23%; }
.week-calendar .to-15, .week-calendar .to-15-00 { bottom: 42.31%; }
.week-calendar .to-15-15 { bottom: 40.38%; }
.week-calendar .to-15-30 { bottom: 38.46%; }
.week-calendar .to-15-45 { bottom: 36.54%; }
.week-calendar .to-16, .week-calendar .to-16-00 { bottom: 34.62%; }
.week-calendar .to-16-15 { bottom: 32.69%; }
.week-calendar .to-16-30 { bottom: 30.77%; }
.week-calendar .to-16-45 { bottom: 28.85%; }
.week-calendar .to-17, .week-calendar .to-17-00 { bottom: 26.92%; }
.week-calendar .to-17-15 { bottom: 25%; }
.week-calendar .to-17-30 { bottom: 23.08%; }
.week-calendar .to-17-45 { bottom: 21.15%; }
.week-calendar .to-18, .week-calendar .to-18-00 { bottom: 19.23%; }
.week-calendar .to-18-15 { bottom: 17.31%; }
.week-calendar .to-18-30 { bottom: 15.38%; }
.week-calendar .to-18-45 { bottom: 13.46%; }
.week-calendar .to-19, .week-calendar .to-19-00 { bottom: 11.54%; }
.week-calendar .to-19-15 { bottom: 9.62%; }
.week-calendar .to-19-30 { bottom: 7.69%; }
.week-calendar .to-19-45 { bottom: 5.77%; }
.week-calendar .to-20, .week-calendar .to-20-00 { bottom: 3.85%; }
.week-calendar .to-20-15 { bottom: 1.92%; }